/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Almacenamiento.TAREA_LABORATORIO6;

import Almacenamiento.Atributo;
import Almacenamiento.IdentificadorPagina;
import Almacenamiento.IdentificadorTupla;
import Almacenamiento.Relacion;
import Almacenamiento.Tupla;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author User
 */
public class TAREA2 {
    
    public static void main(String[] args){
     GestorIOPagina_Ranura gestor= new GestorIOPagina_Ranura();
    String nombreArchivo="D:/prueba/pagina_ranura";
      // Crear un esquema de relación.    
            List<Atributo> attrs = new ArrayList<Atributo>();
            attrs.add(new Atributo("character", Character.class));
            attrs.add(new Atributo("byte", Byte.class));
            attrs.add(new Atributo("short", Short.class));
            attrs.add(new Atributo("integer", Integer.class));
            attrs.add(new Atributo("long", Long.class));
            attrs.add(new Atributo("float", Float.class));
            attrs.add(new Atributo("double", Double.class));
            attrs.add(new Atributo("string", String.class));
            // Esquema de relación
            Relacion esquema_relacion = new Relacion(attrs);
            // Crear una lista de valores de tupla
            List<Comparable> v = new ArrayList<Comparable>();
            v.add(new Character('g'));
            v.add(new Byte((byte) 23));
            v.add(new Short((short) 45));
            v.add(new Integer(2048));
            v.add(new Long(345677));
            v.add(new Float(89.6));
            v.add(new Double(13.6));
            v.add(new String("cadena de texto"));
            
            // crear tuplas de la relación
            Tupla t1 = new Tupla(new IdentificadorTupla(nombreArchivo, 0), v);
            Tupla t2 = new Tupla(new IdentificadorTupla(nombreArchivo, 1), v);
            
            // Crear 2 páginas de disco
          
            IdentificadorPagina pid1 = new IdentificadorPagina(nombreArchivo, 0);
            Pagina_Ranura p1 = new Pagina_Ranura(esquema_relacion, pid1);
            IdentificadorPagina pid2 = new IdentificadorPagina(nombreArchivo, 1);
            Pagina_Ranura p2 = new Pagina_Ranura(esquema_relacion, pid2);
            
            // añadir tuplas a las paginas
            p1.AgregarTupla(t1);
            p2.AgregarTupla(t2);
            // Mostrar las páginas creadas en pantalla
            System.out.println(p1);
            System.out.println(p2);
            
           //escribir las paginas 
            System.out.print(p1.toString());
            
     
     
    }
    
            
    
}
